Electronic payment process using a smart card

ABSTRACT

The storage cells are grouped into elements grouping at least two cells, each element being locatable by an address and having a parity. The balance of the card is the number of non-zero even elements with an address below the address of the odd element with the lowest address and which is called the &#34;terminal&#34;. In order to debit the card and reduce said balance, the terminal is moved towards a lower address, while creating a new old element of lower address than the terminal to be displaced. In order to credit the card and increase this balance, the terminal is moved towards a higher address, while again giving to possible odd elements with a higher address than the terminal to be displaced an even character and while creating a new odd element with a higher address than the terminal to be displaced.

BACKGROUND OF THE INVENTION

The present invention relates to an electronic payment process using asmart card.

It is known that electronic means already exist for carrying out certaintransactions, such as e.g. the payment for goods, the payment fortelephone communications or various services. This is undergoing rapiddevelopment, because it offers considerable advantages as regards speed,ease and security. It is possible to refer in this connection to"electronic money".

These means use a smart card, which is a plastic support in which isembedded an electronic component containing a microprocessor, whichcontains a data memory of several hundred bits produced in Epromtechnology. It consists of an Electrically Programmable Read-OnlyMemory.

The electronic processing performed in such a card consists of making apayment unit or token correspond with each bit of a memory zone. A pointof sale terminal equipped with a card reader performs a transaction bylacing a certain number of bits in the memory. The lacing of a bitconsists of electrically passing a bit in the memory which was in logicstate 1 corresponding to the crediting of one unit to logic state 0corresponding to zero credit. As this data memory is produced in Epromtechnology, this change of state is electrically irreversible.

These smart or chip cards have been described as with respect to theiroperation and applications in an article by Michel Ugon and LouisGuillou entitled "les cartes apuce" published in "La Recherche", no.176, April 1986, vol. 17, pp. 472-479.

Although satisfactory in certain respects, these electronic paymentprocesses suffer from disadvantages. Thus, on the one hand it is notpossible to reload the card and on the other hand there is a high bitconsumption, the number of laced bits being in fact equal to the numberof tokens to be debited.

SUMMARY OF THE INVENTION

The object of the present invention is to obviate these disadvantages byproposing a process in which it is possible to reload the memory inorder to recredit the same and in which it is sufficient to lace asingle bit to debit any random number of units within the limits of theavailable credit. The possibility of reloading the card has led theinventor to call his system in picturesque manner an "electronicmoneybox".

The process according to the invention is very simple. An Epromcomprises binary storage cells, whose content is equal to either 0 or 1.Each cell can be electrically laced by irreversibly passing its contentfrom state 1 to state 0. The inventive process is characterized by thefact that the storage units are grouped into entities called "elements",each element being constituted by at least two storage cells. Each cellcan be located in the memory by an address and has a parity: an elementbeing called even when the number of its cells in state 1 is even and iscalled odd when the number of its cells in state 1 is odd.

According to the invention, the balance of the card is equal to thenumber of non-zero even elements, whose address is below the address ofthe odd element having the lowest address. The latter is called a"terminal". If said element does not exist (which is the case before thefirst debit), the number of non-zero even elements is equal to the totalnumber of non-zero elements of the memory.

In order to debit the card and reduce the balance, the terminal is movedtowards a lower address whilst creating another odd element with a loweraddress than the preceding address. This new odd element consequentlybecomes the new terminal. The number of debited units is equal to thenumber of non-zero even elements located between the old terminal andthe new terminal, plus 1.

In order to credit the card and increase its balance, the terminal ismoved towards a higher address, whilst giving again to any already oddelements with an address higher than the terminal to be displaced aneven character. This is brought about by lacing another cell of theseelements. A new odd element with a higher address is also produced. Itcan occur that the reloading is such that the new terminal correspondsto an element which is already odd, in which case said element is leftas it is. The number of units credited in the card is equal to thenumber of non-zero even elements between the old terminal and the newterminal, plus 1.

The storage elements can be pairs of cells, or nibbles (four-bit bytes),or bytes, or more complex words. In the same memory it is possible tofind elements of different structures (e.g. nibbles associated withbytes).

Preferably, the card is of the smart card microprocessor type alreadyexisting for the applications referred to hereinbefore. The memory ofsuch cards comprises one or more reserved zones constituted by bytes andeach associated with an authorization, the basic byte of address A andthe following byte of address A+1 not being available for the payment,but the bytes of address A+2 and up to a maximum addres Amax are usable.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is described in greater detail hereinafter relative tonon-limitative embodiments and the attached drawings, wherein show:

FIG. 1 diagrammatically the initial state of a memory only containing 1.

FIG. 2 a first payment operation.

FIG. 3 a second payment operation.

FIG. 4 a first reloading operation.

FIG. 5 a second reloading operation.

FIG. 6 a third reloading operation.

FIG. 7 a third payment operation.

FIG. 8 a fourth reloading operation.

FIG. 9 diagrammatically the distribution of the different words of amemory such as are encountered in conventional smart cards of the accesscontrol key-holder type.

FIG. 10 a flowchart showing the various operations involved in thereloading phase.

FIG. 11 a flowchart showing the various operations involved in thepayment phase.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, it is assumed in a purely explanatorymanner that the elements used are nibbles, i.e. groups of four binarycells. No hypothesis is made concerning the structure of the circuitsurrounding the memory, whereby these can be of the type found inexisting smart cards, in which case said circuits are able to fulfillfunctions other than that of controlling or managing the memory(emission of codes, ciphering, deciphering, etc.). However, thesecircuits can also be of a simpler type and more specific to the"moneybox" application.

FIG. 1 diagrammatically shows the elements of a memory prior to use. Allthe binary cells are loaded to 1. Therefore all the nibbles are even,because they all contain four ones. The initial balance So correspondsto the number of such elements, which are located by an address rangingfrom A1 for the first to Amax for the last. Nibble Amax constitutes to acertain extent the "bottom" of the moneybox. It can be considered thatthe first odd element is a fictional nibble, which would be at thefrictional address Amax+1.

FIG. 2 diagrammatically shows a first four unit payment operation P. Thefourth nibble before the last (the latter included), i.e. that havingthe address Amax-3 is brought into the odd state by lacing one of itsbits, i.e. that having the least significance. The nibble of addressAmax-3 then constitutes a terminal and the new balance S1 is equal toSo-4. This is the number of even elements with an address below the oddelement with the lowest address.

FIG. 3 diagrammatically shows a second two unit payment operation Q. Theterminal is displaced by two orders or ranks whilst giving the nibble ofaddress Amax-5 an odd character. It is now this nibble which is the oddelement with the lowest address. Naturally, the nibble of address Amax-3is not modified and remains odd. Following this second operation, thenew balance is S2=S1-2. Thus, the payment operations can follow oneanother in accordance with the same principle, the terminal backspacingtowards ever lower addresses.

Conversely, for reloading the card, the terminal is moved towards a highaddress. FIG. 4 thus represents a reloading R of one unit. The addressnibble Amax-5 is restored to the even state by lacing a second bit,which is equivalent to erasing the terminal and the nibble of addressAmax-4 is brought into the odd state. The latter is then the new oddnibble with the lowest address and therefore it constitutes the newterminal. The balance passes from S2 to S3=S2+1.

FIG. 5 shows a new case S of reloading by one unit. The nibble ofaddress Amax-4 is brought into the even state by lacing a second bit,but the nibble of address Amax-3 is left intact, because it is alreadyin the odd state due to the first payement operation. The balance passesfrom S3 to S4=S3+1.

FIG. 6 shows another case T of reloading by 3 units, which reloads thecard to S5=S4+3.

Payment operations can again be considered. FIG. 7 shows a 4 unitpayment U, so that the nibble of address Amax-4 is again given an oddcharacter, so that said element now contains three 0's, because it isthe third time that it serves as the terminal. If a reloading operationV is now carried out, it is necessary to restore said nibble to an evenstate by lacing its last bit. As this nibble now only contains 0's, itwill not be subsequently taken into account. Therefore the new balanceis S7=S6+1 (although the terminal has been displaced by two orders,because a zero element has appeared in the interval).

The procedure can continue for as long as there are non-zero nibbles.The maximum available balance is gradually reduced as a result of theappearance of elements, whose bits are all zero.

It is clear that a payment operation is not always possible. If theamount to be withdrawn exceeds the balance, payment is impossible. Inthe same way, a reloading operation is not always possible. If theamount to be reloaded exceeds the difference between the total number ofelements of the memory and the balance prior to reloading, this will notbe possible. At the best, it would be possible to place the terminal ina fictional nibble, which would be located just after the final nibbleof address Amax. Thus, the reloading operation of FIG. 6 could at amaximum relate to 4 units. In this case there would no longer be an oddnibble in the memory and there would be a maximum balance So, whichwould be that of the initial state (FIG. 1). It is therefore possible to"block" reload the moneybox.

It is obvious that in practice, except in exceptional circumstances, thecard reloading operations would not relate to such small sums as thosereferred to hereinbefore and which have only been chosen for the purposeof simplifying the explanations. In practice, the loadings would involvee.g. 50 or 100 units.

Moreover, in general, there would be a series of payments and then asingle reloading, followed by a new series of payments. The successionof three reloadings R, S, T of FIGS. 4, 5 and 6 was only intended toillustrate the various cases which could be encountered in practiceduring reloading (already odd nibbles, 0's, etc.).

It is also obvious that the continuous band structure of the memory asshown in FIGS. 1 to 8 is only a diagrammatic representation. On using achip or smart card of the type already in use of the access controlkey-holder type, it is possible to associate therewith a singleauthorization consumption zone, which is in fact organized in the mannershown in FIG. 9. It comprises up to 32 words, each formed by 4 bytes.For coherence reasons, these words start with the nibble 0110. The basicbyte of address A contains a first nibble equal to 0110 and then asecond nibble constituted by an opening indicator io and a closingindicator if. The following byte of address A+1 gives the maximumaddress Amax relative to the final byte of the memory.

Thus, the first word only offers 2 available bytes, whilst the otherwords each offer 1 nibble and 3 bytes, i.e. 4 elements. Thus, in allthere is a maximum of 2+31×(1+3)=126 elements, including 31 nibbles and(2+31×3)=95 bytes. The reserve zone thus comprises 31×4+95×8, i.e. 884binary storage cells.

On using the conventional payment method by tokens, with such a memorythere would be 884 units. Using the process of the invention, a muchlarger number of units would be available.

Thus, on starting there would be 126 units (the 126 elements). After acertain number N of payments (whereof the total number must not exceed126 units), it is possible to block reload the memory by making even theN elements serving as terminals during the N payments. Thus, there areonce again 126 units and it is possible to make M payments. A blockreloading is still possible by making even the M elements which havebeen used as terminals. Certain of these elements could have been madeeven twice and would then contain four 0's and would not be subsequentlytaken into account. Naturally, a moment arises where all the elementsare even, which definitively empties the moneybox without any reloadingpossibility.

With fixed resupplies of 50 units separated by on average 20 payments,the zone can be resupplied approximately 16 times and consequentlycarries approximately 800 units. Thus, in the case of on average 2.5units per payment, the moneybox consumption has an efficiency comparableto the token consumption used in existing cards.

However, in the case of fixed resupplies of 100 units and averagepayments of 20 units, the invention process would permit transactionsrelating to approximately 7000 units, which makes the interest of theprocess readily apparent.

FIG. 10 is a flowchart illustrating the operations performed during areloading. In this flowchart, the meaning of the operationsconventionally designated by rectangles or lozenges is as follows:

100: introduction to the card loading operation; definition of the basicaddress A and the number of units K to be loaded--the variable j givingat the end the number of units effectively charged;

102: reading the element of address A+1 giving the address Amax fixingthe bottom of the reserved zone and the initialization from j to 0 and arunning index i to 2, whilst a binary logic variable which can be calleda "terminal" is created and can assume a value 0 signifying that theterminal is sought and a value 1 signifying that the terminal has beenfound;

104: reading the element of address A+i, i.e. A+2 at the outset;

105: is the element of address A+i even?

106: is the element of address A+i which is even, zero?

107: the terminal is found (the logic variable is set or left in state1);

108: has the terminal been found?

110: is index i at its maximum, (i.e. is the address A+i equal to themaximum address Amax)?

112: increase i by one unit;

114: is j equal to K, in other words is the number j of counted unitsequal to the desired number K?

116: is j equal to K?

118: increase j by one unit;

120: lace one bit in the element of address A+i;

122: is j equal to K?

124: return to the main program, j units having been introduced on the Krequested.

FIG. 11 in the same way shows a flowchart illustrating the operationsperformed during a payment and which have the following meanings:

200: introduction to the payment operation; definition of the basicaddress A of the number of units K to be debited--the variable will atthe end indicate the balance j in the case where it is inadequate, i.e.below K;

202: reading the element of address A+1 giving the address Amax fixingthe bottom of the reserved zone and initialization from j to 0 and arunning index i to 2;

204: reading the element of address A+i;

205: is the read element even?

206: is i maximum?

208: increase i by one unit;

210: is j equal to K?

212: the element of address A+i is placed or left in the odd state andreturned to the general program;

214: is i equal to 2?

216: decrease i by one unit;

218: read the element of address A+i;

220: increase j by one unit;

222: the balance is inadequate for debiting K units; return to thegeneral program and in this case the variable j indicates the balance.

It is pointed out that it is purely by convention that it has beenassumed that the memory initially contained 1's. The situation wouldhave been the same in the case of 0's, the essential point being thatthe lacing operation irreversibly passes a cell with one binary state tothe other binary state.

It is also obvious that it is possible to start by lacing any bit in anelement to make the latter odd and that it is not necessary to firstlyact on the least significant bit. This is yet another advantage of theprocess. In order to carry out a payment operation, it is possible tochoose between at least two bits. Therefore in the case of difficultiesin writing the memory, which sometimes occurs, a simple replacementsolution exists.

Naturally, it would also be possible to reverse the parities and startwith a memory having all odd elements. The terminal would then be thefirst even element. However, in practice it would appear to be moreconvenient to start with even elements and make them odd.

I claim:
 1. Electronic payment process using an Eprom card incorporatingbinary storage cells with a logic content equal either to 0 or to 1,whereby each cell can be electrically laced by irreversibly passing itscontent from one state to another, said process being characterized inthat:the storage cells are grouped into elements grouping at least twocells, each element being locatable by an address and having a parity,one element being said to be even when the number of its cells in state1 is even and is said to be odd when the number of its cells in state 1is odd, the balance of the card is the number of non-zero elementshaving a first parity and an address below the address of the element ofopposite parity with the lowest address and which is called a "terminal"or, if the latter element does not exist, the number of non-zeroelements of said first parity in the memory, to debit the card andreduce said balance, the terminal is moved towards a lower addresswhilst creating a new opposite parity element with a lower address thanthe terminal to be displaced, whereby said new element becomes the newterminal, the number P of debited units being equal to the number offirst parity elements located between the old terminal and the newterminal, plus 1, to credit the card and increase the balance, theterminal is moved towards a higher address, whilst again giving topossible elements which already have said opposite parity and having anaddress higher than the terminal to be displaced said first parity andthis takes place by lacing a new cell and by creating a new elementhaving the second parity with a higher address than the terminal to bedisplaced, unless said element already has said parity, in which case itis left as it is, the number K of units credited to the card being equalto the number of elements having the first parity located between theold terminal and the new terminal, plus
 1. 2. Process according to claim1, characterized in that the first parity is the even parity and theopposite parity is the odd parity, the terminal being constituted by theodd element with the lowest address.
 3. Process according to claim 1,characterized in that the storage elements can either be pairs, ornibbles, or bytes, or more complex words, or a combination of thesevarious elements.
 4. Process according to claim 1, characterized in thatthe card is of the microprocessor type with a memory having a reservedzone constituted by bytes, the basic byte of address A and the followingbyte of address A+1 not being available for payment, the zone reservedto the payments and to reloading operations ranging from the byte ofaddress A+2 to the last byte of address Amax.
 5. Process according toclaim 3, characterized in that the reserved zone comprises M wordsconstituted in each case by N bytes, each word starting with a firstbyte, whose most significant nibble is determined and the same for allthe words, the elements usable for the payment thus being constituted bythe least significant nibble belonging to the first byte of each wordand the following bytes of each word.